Задан массив из n целых чисел. Выведите только его четные элементы, изменив первоначальный
порядок на противоположный.
Вход. Первая
строка содержит число n (1 ≤ n ≤ 100). Во второй строке
записаны n
целых чисел, каждое из которых не превышает по модулю 100.
Выход. В первой строке
выведите количество четных элементов массива. Во второй строке выведите сами
четные элементы в обратном порядке. Если четных элементов в массиве нет, то
выведите ”NO”.
Пример входа |
Пример выхода |
7 -2 5 4 -3 7
-1 0 |
3 0 4 -2 |
массив
Читаем входную последовательность в массив. Подсчитываем
количество четных чисел. Если оно равно 0, то выводим “NO”. Иначе
выводим количество четных чисел и сами числа в обратном порядке.
Реализация алгоритма
Объявим
массив для хранения последовательности.
int m[101];
Читаем входную последовательность в массив.
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &m[i]);
В переменной cnt подсчитаем количество четных чисел.
cnt = 0;
for (i = 0; i < n; i++)
if (m[i] % 2 == 0) cnt++;
Если четных чисел нет, то выводим “NO”.
if (cnt == 0)
printf("NO\n");
else
{
Выводим количество четных чисел.
printf("%d\n", cnt);
Выводим четные числа в обратном порядке.
for (i = n - 1; i >= 0; i--)
if (m[i] % 2 == 0) printf("%d ", m[i]);
printf("\n");
}